package com.hxkj.dao;

import com.hxkj.domain.po.ContentMapping;
import com.platform.common.domain.annotation.EnableDataSource;
import com.platform.common.domain.result.ResultMessageStruct;

import java.util.List;

/**
* 数据操作接口
*
* @author: chenwei
* @version: 1.0
* @datetime: 2018-09-09 14:27:45
*
*/
public interface ContentMappingDao {

    /**
    *
    * 根据主键查询ContentMapping对象
    *
    * @param id
    * @return ContentMapping对象
    */
    @EnableDataSource("slave")
    ContentMapping get(Long id);

    /**
    *
    * 根据查询条件查询符合条件的ContentMapping对象
    *
    * @param contentMapping
    * @return 符合条件的ContentMapping对象List
    */
    @EnableDataSource("slave")
    List<ContentMapping> get(ContentMapping contentMapping);

    /**
    *
    * 根据主键删除ContentMapping对象
    *
    * @param id
    * @return 影响条件数
    */
    int delete(Long id);

    /**
    *
    * 根据条件删除符合条件的ContentMapping对象
    *
    * @param contentMapping
    * @return 影响条件数
    */
    int delete(ContentMapping contentMapping);

    /**
    *
    * 插入ContentMapping对象
    *
    * @param contentMapping
    * @return 影响条件数
    */
    int save(ContentMapping contentMapping);

    /**
    *
    * 更新ContentMapping对象
    *
    * @param contentMapping
    * @return 影响条件数
    */
    int update(ContentMapping contentMapping);

    /**
    * @author Mr.zheng
    * @Description getContentMappingList 根据站点ID和分类ID获取映射表的数据
    * @Date 15:03 2018/9/9
    **/
    @EnableDataSource("slave")
    List<ContentMapping> getContentMappingList(ContentMapping contentMapping);

    /**
    * @author Mr.zheng
    * @Description saveContentMapping 新增映射字段
    * @Date 15:08 2018/9/9
    **/
    int saveContentMapping(ContentMapping contentMapping);

    /**
    * @author Mr.zheng
    * @Description removeById 根据ID删除映射表数据
    * @Date 18:15 2018/9/10
    **/
    int removeById(ContentMapping contentMapping);

    /**
    * @author Mr.zheng
    * @Description removeContentByContentName 根据字段名称清除内容表中该字段的内容
    * @Date 18:03 2018/9/10
    **/
    int removeContentByContentName(ContentMapping mapping);

    /**
     * @author Mr.zheng
     * @Description removeByColumnId 根据分类ID删除映射表数据
     * @Date 15:30 2018/9/10
     **/
    int removeByColumnId(ContentMapping contentMapping);

    /**
    * @author Mr.zheng
    * @Description getContentNameList 获取内容表的字段名
    * @Date 19:45 2018/9/11
    **/
    @EnableDataSource("slave")
    List<String> getContentNameList();
}
